// ! promise then和catch的连接

// Promise.resolve().then(() => {
//   console.log('1');
// }).catch(() => {
//   console.log('2')
// }).then(() => {
//   console.log('3')
// }) // 1 3 没有error 没有2

// Promise.resolve().then(() => {
//   console.log('1');
//   throw new Error('error');
// }).catch(() => {
//   console.log('2')
// }).then(() => {
//   console.log('3')
// }) // 1 2 3 已经有fullfilled状态 会走到then


// Promise.resolve().then(() => {
//   console.log('1');
//   throw new Error('error');
// }).catch(() => {
//   console.log('2')
// }).catch(() => {// 这里是catch
//   console.log('3')
// })// 1 2  只会catch一次


// ! promise和setTimeout
console.log(100)
setTimeout(()=>{
  console.log(200)
})
Promise.resolve().then(() => {
  console.log(300);
})
console.log(400);// 100 400 300 200  300比200先执行,因为.then是微任务 微任务先执行